1. Field of the Invention
The invention concerns creation and delivery of information generally and more particularly concerns systems which evaluate information in order to deliver output in which the information is tailored to the recipient or to analyze the information for a user-defined purpose.
2. Description of the Prior Art: FIG. 1
A common use of computers has been to personalize information that is provided to a recipient. One example of such personalization is personalized form letters: a form letter which in the days before computers would have begun xe2x80x9cDear Sir or Madamxe2x80x9d now begins with the name of the recipient. Another example is personalized story books for children: the maker of the book is given the name of the child for whom the book is intended and the child appears as a character in the story. More sophisticated examples include commercial Web sites which keep track of a shopper""s past and current shopping behavior and use that information to determine what other products the shopper might be interested in and to produce output to the shopper which calls the shopper""s attention to those products.
FIG. 1 is a high-level block diagram of a system 101 that uses information 109 about a recipient of personalized information and information items 107 from an information item database 105 to produce personalized output information 111. The behavior of system 101 is determined by information assembly program 103, which uses recipient info 109 to determine which of the items in info item database should be included in personalized output info 111 and then makes personalized output info 111 using the selected information items 107. Examples of systems like system 101 include the mail merge programs that are used in word processing systems to produce personalized form letters and the components of Web servers which select what is to be output to the client on the basis of information about the client which is available to the server.
As any recipient of junk mail or Web shopper knows, the prior-art systems for producing personalized output information are effective and useful; they do, however, have a number of limitations:
information assembly program 103 is specific to a particular task of assembling personalized output information instead of general;
one consequence of this fact is that systems 101 of any complexity at all must be designed, built, maintained, and modified by programmers or highly-specialized content developers.
The need for programmers to build and maintain such systems means that they are expensive and inflexible and subject to all of the problems that arise when a system that is intended to meet the needs of subject-matter specialists such as salespeople is built by technical specialists who have no experience in the subject matter domain in which the system is to operate. One consequence of this fact is that systems 101 of any complexity at all must be designed, built, maintained, and modified by programmers or highly specialized content developers.
The need for programmers to build and maintain such systems means that they are expensive and inflexible and subject to all of the problems that arise when a system that is intended to meet the needs of subject-matter specialists such as salespeople is built by technical specialists who have no experience in the subject matter domain in which the system is to operate.
Systems 101 are not set up to run generically in any information environment such as word processing, presentation, html, etc.
What is needed, therefore, is techniques for making systems 101 which make it possible for people who are neither programmers nor specialized content developers to make and modify such systems as easily as they presently make and modify documents or presentations. It is an object of the present invention to provide such techniques and thereby to greatly increase the utility of systems 101.
The object of the invention is attained in a system in which a non-programmer defines properties and values for the properties which are relevant to the information being evaluated to produce the output. The non-programmer then assigns properties and values to the items of information from which the output is to be selected as is required by the content of the items of information and also assigns properties and values to a profile that describes the recipient of the output. The system then filters the information items to produce the personalized output. The filtering is done by excluding information items when none of the properties and values assigned to an information item matches a property and value assigned to the profile. Selection from among information items which have properties and values that do match those of the profile is done using ratings and validities in the assignments to the profile and the information items. The ratings in assignments to information items express the relevance of the information item to the assigned property and value; the ratings in assignments to profiles express the relevance of the property and value to the profile. A validity expresses the strength of the non-programmer""s presumption concerning the correctness of the assignment to which the validity belongs. The ratings and validities are used to produce scores for information items, and the system uses the scores to select the information items.
Assignment of properties and values is made easier by means of relationship definitions. A relationship definition establishes a relationship between an origin property and value and a destination property and value. When the system assigns the origin property and value, it also assigns the destination property and value. The relationship definition has a validity which defines the strength of the presumption that the assignment produced by the relationship is valid.
Items of information in the system are hierarchically ordered; evaluation of items of information begins at the bottom of the hierarchy, with the scores of items at lower levels of the hierarchy helping to determine the scores of items at higher levels of the hierarchy. Moreover, scores at each level may be used to determine what information items are included at that level.
The graphical user interface for the system includes windows which permit the non-programmer to see what choices of information items are available and the properties and values assigned to those information items and an interface which automates assignment of properties and values to information items as the information items are being edited. The latter interface works by having the non-programmer define an editing profile and indicating to the system that the properties and values specified in the editing profile be assigned to the information items currently being edited.
In another aspect, the invention is used with Web pages. The pages and their components are assigned properties and values as described above, and a profile of the current recipient of the Web pages determines what pages and components are selected for output. The system automatically alters the profile in response to feedback from the recipient, and the system also automatically saves feedback as information items. Profiles may then be used to select feedback for analysis as described above.
Other objects and advantages will be apparent to those skilled in the arts to which the invention pertains upon perusal of the following Detailed Description and drawing, wherein: